// 定义消息类型
type WorkerMessage = {
  action: 'processData'
  payload: any[]
}

// 处理数据的函数
function processLargeData(data: any[]): any[] {
  // 这里执行耗时的数据处理操作
  return data.map((item) => ({
    ...item,
    processed: true
    // 添加其他处理逻辑
  }))
}

// Worker 消息处理器
self.onmessage = function (e: MessageEvent<WorkerMessage>) {
  const { action, payload } = e.data

  if (action === 'processData') {
    const result = processLargeData(payload)

    // 发送处理结果回主线程
    self.postMessage({
      action: 'processed',
      payload: result
    })
  }
}

// 确保 TypeScript 识别为 Worker 上下文
export default {} as typeof Worker & (new () => Worker)
